package com.cloudkinto.service.order.vo.rakuten;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author zhangyy
 * @date 2020/7/3 8:33
 * @description:
 */
@Data
public class OrderRakutenExcelExportVo implements Serializable {
    /**
     * 注文番号
     */
    @Excel(name = "注文番号", width = 20,needMerge = true)
    private String orderNumber;

    /**
     * 订单状态 100: 注文確認待ち
     * 200: 楽天処理中
     * 300: 発送待ち
     * 400: 変更確定待ち
     * 500: 発送済
     * 600: 支払手続き中
     * 700: 支払手続き済
     * 800: キャンセル確定待ち
     * 900: キャンセル確定
     */
    @Excel(name = "订单状态",replace = {"注文確認待ち_100","楽天処理中_200","発送待ち_300","変更確定待ち_400","発送済_500","支払手続き中_600","支払手続き済_700","キャンセル確定待ち_800","キャンセル確定_900"},width = 20,needMerge = true)
    private Integer orderProgress;

    private Long shopId;

    /**
     * 店铺确认日期
     */
    @Excel(name = "店铺确认日期", width = 20,needMerge = true)
    private String shopOrderCfmDatetime;

    /**
     * 顾客付款时间
     */
    @Excel(name = "顾客付款时间", width = 20,needMerge = true)
    private String orderFixDatetime;

    /**
     * 订单创建日期
     */
    @Excel(name = "订单创建日期", width = 20,needMerge = true)
    private String orderDatetime;

    /**
     * 発送指示日時
     */
    @Excel(name = "発送指示日時", width = 20,needMerge = true)
    private String shippingInstDatetime;

    /**
     * 订单创建日期
     */
    @Excel(name = "订单创建日期", width = 20,needMerge = true)
    private String shippingCmplRptDatetime;

    /**
     * 指定日期
     */
    @Excel(name = "指定日期", width = 20,needMerge = true)
    private String deliveryDate;

    /**
     * 時間帯
     */
    @Excel(name = "時間帯", width = 20,needMerge = true)
    private String shippingTerm;

    /**
     * 备注
     */
    @Excel(name = "备注", width = 20,needMerge = true)
    private String remarks;

    /**
     * 礼物标志
     */
    @Excel(name = "礼物标志", width = 20,needMerge = true)
    private Integer giftCheckFlag;

    /**
     * 多目标标志
     */
    @Excel(name = "多目标标志", width = 20,needMerge = true)
    private Integer someSenderFlag;

    /**
     * 目的地匹配标志
     */
    @Excel(name = "目的地匹配标志", width = 20,needMerge = true)
    private Integer equalSenderFlag;

    /**
     * 是否是离岛地区
     */
    @Excel(name = "是否是离岛地区", width = 10,needMerge = true)
    private Integer isolatedIslandFlag;

    /**
     * 是否是乐天会员
     */
    @Excel(name = "是否是乐天会员", width = 10,needMerge = true)
    private Integer rakutenMemberFlag;


    private Integer asurakuFlag;

    /**
     * 1: 通常購入
     * 4: 定期購入
     * 5: 頒布会
     * 6: 予約商品
     */
    @Excel(name = "是否是乐天会员", replace = {"通常購入_1","定期購入_4","頒布会_5","予約商品_5"},width = 10,needMerge = true)
    private Integer orderType;

    /**
     * 定期購入、予約、頒布会の申込番号
     */
    @Excel(name = "頒布会の申込番号", width = 20,needMerge = true)
    private String reserveNumber;

    /**
     * 0: 楽天確認中ではない
     * 1: 楽天確認中
     */
    @Excel(name = "楽天確認", replace = {"楽天確認中ではない_0","楽天確認中_1"},width = 20,needMerge = true)
    private Integer rakutenConfirmFlag;

    /**
     * 商品金额
     */
    @Excel(name = "商品金额", width = 10,needMerge = true)
    private Float goodsPrice;

    /**
     * 外税合计
     */
    @Excel(name = "外税合计", width = 10,needMerge = true)
    private Float goodsTax;

    /**
     * 运费合计
     */
    @Excel(name = "运费合计", width = 10,needMerge = true)
    private Float postagePrice;

    /**
     * 购买人邮编
     */
    @Excel(name = "购买人邮编", width = 10,needMerge = true)
    private String orderPostCode;

    /**
     * 购买人都道府県
     */
    @Excel(name = "购买人都道府県", width = 20,needMerge = true)
    private String orderPrefecture;

    /**
     * 购买人郡市区
     */
    @Excel(name = "购买人郡市区", width = 20,needMerge = true)
    private String orderCity;

    /**
     * 购买人住所
     */
    @Excel(name = "购买人住所", width = 20,needMerge = true)
    private String orderSubAddres;

    /**
     * 购买人姓名
     */
    @Excel(name = "购买人姓名", width = 20,needMerge = true)
    private String orderName;

    /**
     * 购买人姓通假
     */
    @Excel(name = "购买人姓通假", width = 20,needMerge = true)
    private String orderFamilyNameKana;

    /**
     * 购买人名通假
     */
    @Excel(name = "购买人名通假", width = 20,needMerge = true)
    private String orderFirstNameKana;

    /**
     * 购买人电话
     */
    @Excel(name = "购买人电话", width = 20,needMerge = true)
    private String orderPhoneNumber;

    /**
     * 购买人邮箱
     */
    @Excel(name = "购买人邮箱", width = 20,needMerge = true)
    private String orderEmailAddress;

    /**
     * 购买人性别
     */
    @Excel(name = "购买人性别", width = 20,needMerge = true)
    private String orderSex;

    /**
     * 购买人生日
     */
    @Excel(name = "购买人生日", width = 20,needMerge = true)
    private String orderBirthday;

    /**
     * 支付方式
     */
    @Excel(name = "支付方式", width = 20,needMerge = true)
    private String settlementMethod;

    /**
     * 配送方法
     */
    @Excel(name = "配送方法", width = 20,needMerge = true)
    private String deliveryName;

    /**
     * 使用积分
     */
    @Excel(name = "使用积分", width = 10,needMerge = true)
    private Integer usedPoint;

    /**
     * 使用优惠券
     */
    @Excel(name = "使用优惠券", width = 10,needMerge = true)
    private Integer usedCouponTotalPrice;

    private Long companyId;

    /**
     * 是否转发货
     */
    @Excel(name = "是否转发货", width = 10,needMerge = true)
    private Integer isSendOut;

    /**
     * 是否发邮件
     */
    @Excel(name = "是否发邮件", width = 10,needMerge = true)
    private Integer isSendMail;

    /**
     * 是否回传单号
     */
    @Excel(name = "是否回传单号", width = 10,needMerge = true)
    private Integer isUploadExpress;

    /**
     * 系统备注
     */
    @Excel(name = "系统备注", width = 20,needMerge = true)
    private String systemMemo;

    @ExcelCollection(name = "包裹信息")
    private List<OrderRakutenPackageExcelExportVo> packageExcelExportVoList;
}
